Modern wireless telecommunications systems are evolving to provide high speed packet data services for users of mobile equipment. One example is an ability to provide internet access to a user of mobile equipment. A wireless system that is rapidly evolving in this direction is a Time Division, Multiple Access (TDMA) system known as the Global System for Mobile Communication (GSM), in particular enhanced versions of GSM known as GSM+, GPRS (General Packet Radio Services) and EGPRS (Enhanced General Packet Radio Service).
In EGPRS, as currently specified, different packet data flows of single mobile station can be multiplexed to a single radio channel. Such data flows consist of packets of different sizes, and the radio channel can contain radio blocks of different sizes. In a Radio Link Control (RLC) protocol of the EGPRS the data flows correspond to radio bearers and packets correspond to Packet Data Convergence Protocol (PDCP) blocks, and the radio channel and radio blocks correspond to a Temporary Block Flow (TBF) and RLC blocks, respectively. A TBF is established to permit the transmission of packet data (PDCP blocks).
FIG. 1 is useful for explaining a segmentation protocol that is currently specified for EGPRS. Two blocks are shown for carrying a total of five packets. At the beginning of a block a single bit (indicated as SB) indicates whether an extension octet is present. In the example of FIG. 1, both blocks have this bit set to one for indicating that an extension octet is present in each block. The extension octet contains a Length Indicator (LI) field and a bit indicating whether another extension octet is present. In this manner each block can contain a variable number of extension octets, and therefore a variable number of Length Indicators. The last extension octet in each of the blocks has this bit set to zero, indicating that no further extension octet is present. The presence of the Length Indicator fields reduces the actual data carrying capability of the block accordingly.
The radio blocks can contain data segments from one or more data packets. In the example shown in FIG. 1 the first block (block 1) contains three segments which contain packets A and B and the beginning of packet C. The Length Indicators indicate the length of those segments that carry the last octet of a packet (in this case, packets A and B). Since no Length Indicator is provided for packet C, packet C is interpreted as continuing in the next block (block 2). In block 2 there are three Length Indicators present, as well as the remaining part of packet C, and all of packets D and E. Since the length of the third segment is specified by a length indicator, packet E does not continue to the next block. Since there is no remaining space in block 2 it does not include any further segments, no packet continues from block 2 to the next block.
In a first approach that was used in EGPRS Release 1999 (R99), which can be referred to as a multiplexing above segmentation technique, packets from different flows are multiplexed into a single TBF. In this method, and referring to the example shown in FIG. 2, two radio bearers or flows are being multiplexed. The first flow contains packets A, B and C, and the second flow contains higher priority packets X and Y. A significant drawback to this technique is that once the transmission of a packet has begun (e.g., packet C), the entire packet must be transmitted, even if new, higher priority packets arrive that are significantly shorter than the packet currently being transmitted.
In another approach, which can be referred to as a Media Access Control (MAC) layer multiplexing technique, different flows have different segmentation entities, and each radio block contains packet data from only one flow. In this method each radio block carries a Flow Identity. This method was employed in EGPRS R99 to multiplex between different users, and it has been proposed for use in EGPRS Release 2000 (R00) to multiplex between different flows. Referring to FIG. 3, it can be readily seen that this technique leads to inefficiencies, as some of the radio blocks are not completely filled (blocks 4 and 1.) However, the transmission of the higher priority packets X and Y can begin immediately in radio blocks 0 and 1.
A further technique, referred to as RLC multiplexing below segmentation, is similar to the last, except that it operates above the Automatic Repeat reQuest (ARQ) protocol level. As such, the Flow Identity can be transmitted as user data and need be included only when the flow changes. A drawback to this technique is that any ARQ retransmissions must have a higher priority than the original transmissions of a higher priority flow, since a single ARQ protocol is used and protocol stalling is to be avoided. With special care, however, a different prioritization is possible.